The present invention relates to storage area networks (SANs). More particularly, it relates to discovery of available service ports that allow access to SAN devices by hosts in an Internet Protocol (IP) network.
In recent years, the capacity of storage devices has not increased as fast as the demand for storage. Additionally, a host may wish to use multiple storage devices because it needs tiered and heterogeneous storage or because storage management facilities are needed for reasons specific to the storage environment. For example, it may be desirable to use database tables on a fast storage device, and other tables on a slower or less expensive storage device.
In order to solve these storage limitations, the storage area network (SAN) was developed. Generally, a storage area network is a high-speed special-purpose network that interconnects different data storage devices and associated data hosts on behalf of a larger network of users.
FIG. 1 is a diagrammatic representation of a storage area network 102 that implements a fibre channel (FC) protocol in communication with a plurality of hosts 110 which implement an internet protocol (IP). The storage area network 102 includes a target 106 in communication with switch 104. A service for an IP host to access a target of a SAN is typically set up on a port of a gateway switch. As shown, switch 104 is in the form of a gateway device having a plurality of service ports 108 that each provide a service for an IP host to communicate with an FC target, such as target 106.
For a particular host 110 to be able to communicate with target 106, the host must be configured with the identity of a service port of the gateway device 104. For example, host 110a is configured with the identity of service port 108a. In contrast, host 110b may be configured with the identity of service ports 108a and 108b, while host 110c is configured with the identity of service port 108b. In sum, in order for a service port to provide a service to a particular host, the particular host has to know the identity of such service port in order to use it. This knowledge is usually achieved by manual configuration on the host so that the configured host points to a specific service port. The problem with this approach is that while there are multiple ports that can provide service to the host, the host does not know about them so there is no redundancy or load-balancing. Of course, a user can manually configure the host to use multiple ports. However, such configuration is static. That is, if the port for which a host is configured fails, the host may not be configured to access an alternative port and, hence, the host's use of a service may be disrupted. Additionally, when new ports are added, a host has to be manually configured to use a service on such new port.
Accordingly, mechanisms for providing information regarding port availability to a host would be beneficial. Additionally, mechanisms for facilitating a host to dynamically access any available port for a particular SAN service are needed.